<?php
namespace app\api\controller;



use app\BaseController;

/**
 * @title 文件上传返回路径(只上传文件)
 * @description 接口说明
 * @group 微信报名分销
 * 
 * @param name:file或者file[] type:int require:1 default:1 other: desc:需要上传的文件
 */
class Upload extends BaseController
{

    /**
     * @title 文件上传案例
     * @description 接口说明
     * @author hardy
     * @url /api/Upload/index
     * @method post
     * @return 返回值说明:  字符串|对象 由file或者file[]属性决定
     * @return 返回保存链接地址，类型:string|array 由file或者file属性决定
     */
    public function index(){
        return $this->view->fetch('index');
    }

    /**
     * @title 文件上传（只返回路径）
     * @description 接口说明
     * @author hardy
     * @url /api/Upload/upload
     * @method post
     * @return 返回值说明:  字符串|对象 由file或者file[]属性决定
     * @return 返回保存链接地址，类型:string|array 由file或者file属性决定
     */
    public function upload(){
        $p = new \app\extra\ExtraUpload();
        $file = $p->upload('file');
        $this->returnMessage($_SERVER['REQUEST_SCHEME'].'://'.env('DOMAIN_NAME').$file);
    }
    /**
     * @title 文件上传（返回详细信息）
     * @description 接口说明
     * @author hardy
     * @url /api/Upload/uploadDetail
     * @method post
     *
     * @return 返回值说明:  数组|对象 由file或者file[]属性决定
     * @return name:上传的文件名
     * @return type:文件类型
     * @return size:文件大小
     * @return filePath:相对路径
     * @return fullPath:全路径 （包含域名）
     */
    public function uploadDetail(){
        $p = new \app\extra\ExtraUpload();
        $file = $p->uploadDetail('file');
        $this->returnMessage($file);
    }
    private function returnMessage($data){
        if ($data === false){
            $arr = [
                'status' => false,
                'message' => '请选择文件并上传',
            ];
        } else {
            $arr = [
                'status' => true,
                'message' => 'success',
                'data'=> $data,
            ];
        }
        header('Content-Type: application/json; charset=UTF-8');
        exit(json_encode($arr));
    }
}